This relates generally to graphics processing.
In graphics processing a pipeline is implemented in which a series of steps are performed on so-called vertices or corners. Primitives may be used to represent a surface being graphically rendered.
Tessellation is the process of subdividing a surface to be graphically depicted into smaller shapes. Tessellation breaks down the surface of an object into manageable triangles.
A domain shader calculates the properties of each vertex of a subdivided output patch. The domain shader receives the hull shader output control points and the tessellator stage output domain locations and outputs a vertex position.
The hull shader is invoked once per patch and transforms input control points into output control points that make up a patch. It does some per patch calculations to provide data for the tessellation stage and the domain shader.
The term domain shader is generally associated with the DirectX pipeline. Essentially the same function is performed in other application program interfaces used for graphic processing including OpenGL which commonly refers to the DirectX domain shader as a tessellation evaluation shader. In OpenGL, the hull shader is often called the tessellation control shader.